import BMF from 'browser-md5-file';
const getSex = (sex) => {
    if (sex === "boy") {
        return "MAN";
    } else {
        return "WOMAN";
    }
}

const createFileMd5 = async (file) => {
    const md5File = new BMF();
    return new Promise((resolve, reject) => {
        md5File.md5(file, (error, md5) => {
            if (error) {
                reject(error);
            } else {
                resolve(md5);
            }
        });
    });
}

const copy = (textToCopy) => {
    // navigator clipboard 需要https等安全上下文
    if (navigator.clipboard && window.isSecureContext) {
        // navigator clipboard 向剪贴板写文本
        return navigator.clipboard.writeText(textToCopy);
    } else {
        // 创建text area
        let textArea = document.createElement("textarea");
        textArea.value = textToCopy;
        // 使text area不在viewport，同时设置不可见
        textArea.style.position = "absolute";
        textArea.style.opacity = 0;
        textArea.style.left = "-999999px";
        textArea.style.top = "-999999px";
        document.body.appendChild(textArea);
        textArea.focus();
        textArea.select();
        return new Promise((res, rej) => {
            // 执行复制命令并移除文本框
            document.execCommand('copy') ? res() : rej();
            textArea.remove();
        });
    }
}

const getFileMd5 = async (file) => {
    return await createFileMd5(file);
}

export {createFileMd5,getFileMd5,getSex,copy};


